#pragma once
#include "Headers.h"
#include "ConsoleForm.h"

namespace OgreUnified {

class EditorResourceGroupListener: public Ogre::ResourceGroupListener
{
private:
	
public:
	EditorResourceGroupListener()
	{

	}
	
	~EditorResourceGroupListener()
	{

	}


	void resourceGroupScriptingStarted(const Ogre::String& groupName, size_t scriptCount)
	{
		ConsoleForm::Instance->logMessage("resourceGroupScriptingStarted " + groupName );
	}

	void scriptParseStarted(const Ogre::String& scriptName, bool& skipThisScript)
	{
		ConsoleForm::Instance->logMessage("scriptParseStarted " + scriptName );
	}

	void scriptParseEnded(const Ogre::String& scriptName, bool skipped)
	{
		ConsoleForm::Instance->logMessage("scriptParseEnded " + scriptName );
	}

	void resourceGroupScriptingEnded(const Ogre::String& groupName)
	{
		ConsoleForm::Instance->logMessage("resourceGroupScriptingEnded " + groupName );
	}

	void resourceGroupPrepareStarted(const Ogre::String& groupName, size_t resourceCount)
	{
		ConsoleForm::Instance->logMessage("resourceGroupPrepareStarted " + groupName);
	}

	void resourcePrepareStarted(const ResourcePtr& resource)
	{
		ConsoleForm::Instance->logMessage("resourcePrepareStarted " + resource.getPointer()->getName());
	}

	void resourcePrepareEnded(void)
	{
		ConsoleForm::Instance->logMessage("resourcePrepareEnded ");
	}

	void worldGeometryPrepareStageStarted(const Ogre::String& description)
	{
		ConsoleForm::Instance->logMessage("worldGeometryPrepareStageStarted " + description);
	}

	void worldGeometryPrepareStageEnded(void)
	{
		ConsoleForm::Instance->logMessage("worldGeometryPrepareStageEnded ");
	}

	void resourceGroupPrepareEnded(const Ogre::String& groupName)
	{
		ConsoleForm::Instance->logMessage("resourceGroupPrepareEnded " + groupName);
	}

	void resourceGroupLoadStarted(const Ogre::String& groupName, size_t resourceCount)
	{
		ConsoleForm::Instance->logMessage("resourceGroupLoadStarted " + groupName );
	}

	void resourceLoadStarted(const ResourcePtr& resource)
	{
		ConsoleForm::Instance->logMessage("resourceLoadStarted " + resource.getPointer()->getName());
	}

	void resourceLoadEnded(void)
	{
		ConsoleForm::Instance->logMessage("resourceLoadEnded ");
	}

	void worldGeometryStageStarted(const Ogre::String& description)
	{
		ConsoleForm::Instance->logMessage("worldGeometryStageStarted " + description);
	}

	void worldGeometryStageEnded(void)
	{
		ConsoleForm::Instance->logMessage("worldGeometryStageEnded ");
	}

	void resourceGroupLoadEnded(const Ogre::String& groupName)
	{
		ConsoleForm::Instance->logMessage("resourceGroupLoadEnded " + groupName);
	}







};

}